package com.weiquan.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.weiquan.dto.LoginRequest;
import com.weiquan.dto.RegisterRequest;
import com.weiquan.entity.SysUser;
import com.weiquan.vo.LoginResponse;
import com.weiquan.vo.UserInfoVO;

/**
 * 用户服务接口
 * 
 * @author weiquan
 * @since 2024-01-01
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 用户注册
     */
    void register(RegisterRequest request);

    /**
     * 用户登录
     */
    LoginResponse login(LoginRequest request);

    /**
     * 发送短信验证码
     */
    void sendSmsCode(String phone);

    /**
     * 根据手机号查询用户
     */
    SysUser getByPhone(String phone);

    /**
     * 获取用户信息
     */
    UserInfoVO getUserInfo(Long userId);

    /**
     * 更新用户信息
     */
    void updateUserInfo(Long userId, UserInfoVO userInfo);

    /**
     * 更新登录信息
     */
    void updateLoginInfo(Long userId, String loginIp);
}